//package com.henghai.zhenxuan.utils.beizi;//package com.baitai.integral.utils.beizi;
//
//import android.content.Context;
//import android.text.TextUtils;
//import android.view.View;
//import com.anythink.core.api.ATAdConst;
//import com.anythink.core.api.ATBiddingListener;
//import com.anythink.core.api.ATBiddingNotice;
//import com.anythink.core.api.ATBiddingResult;
//import com.anythink.nativead.unitgroup.api.CustomNativeAd;
//import com.anythink.nativead.unitgroup.api.CustomNativeAdapter;
//import com.beizi.fusion.BeiZiBiddingConstant;
//import com.beizi.fusion.BeiZis;
//import com.henghai.zhenxuan.utils.beizi.util.LogUtil;
//import com.henghai.zhenxuan.utils.beizi.util.ThreadUtils;
//import com.henghai.zhenxuan.utils.beizi.util.UIUtil;
//import com.beizi.fusion.NativeAd;
//import com.beizi.fusion.NativeAdListener;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.UUID;
//
//public class BeiZiATNativeAdapter extends CustomNativeAdapter implements ATBiddingNotice {
//
//    private String appId = "120686";
//    private String unitid = "";
//    private BeiZiATNativeExpressAd mBeiZiATNativeExpressAd;
//    private NativeAd mNativeAd;
//    private int width = 0;
//    private int height = 0;
//    private long timeout = 5000;//默认5000,单位毫秒
//    private int templateType = 1;//默认是1,原生广告类型 1 纯图原生 4 左文右图原生 5 上图下文原生
//
//    @Override
//    public void loadCustomNetworkAd(Context context, Map<String, Object> serverExtra, Map<String,
//            Object> localExtra) {
//        try {
//            if (serverExtra.containsKey("appid") && serverExtra.containsKey("unitid")) {
//                appId = (String) serverExtra.get("appid");
//                unitid = (String) serverExtra.get("unitid");
//            } else {
//                if (mLoadListener != null) {
//                    mLoadListener.onAdLoadError("", "appid or unitid is empty!");
//                }
//                return;
//            }
//            LogUtil.i(LogUtil.TAG,
//                    "loadCustomNetworkAd appId : " + appId + " , unitid : " + unitid);
//            if (serverExtra.containsKey("timeout") && !TextUtils.isEmpty((String) serverExtra.get("timeout"))) {
//                timeout = Integer.parseInt((String) serverExtra.get("timeout"));
//            }
//            if (serverExtra.containsKey("templateType") && !TextUtils.isEmpty((String) serverExtra.get("templateType"))) {
//                templateType = Integer.parseInt((String) serverExtra.get("templateType"));
//            }
//
//            startLoad(context, localExtra, null);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//
//    }
//
//    @Override
//    public boolean startBiddingRequest(Context context, Map<String, Object> serverExtra,
//                                       Map<String, Object> localExtra,
//                                       ATBiddingListener biddingListener) {
//        if (serverExtra.containsKey("appid") && serverExtra.containsKey("unitid")) {
//            appId = (String) serverExtra.get("appid");
//            unitid = (String) serverExtra.get("unitid");
//        } else {
//            if (mLoadListener != null) {
//                mLoadListener.onAdLoadError("", "appid or unitid is empty!");
//            }
//            return true;
//        }
//        LogUtil.i(LogUtil.TAG, "startBiddingRequest appId : " + appId + " , unitid : " + unitid);
//        if (serverExtra.containsKey("timeout") && !TextUtils.isEmpty((String) serverExtra.get(
//                "timeout"))) {
//            timeout = Integer.parseInt((String) serverExtra.get("timeout"));
//        }
//        if (serverExtra.containsKey("templateType") && !TextUtils.isEmpty((String) serverExtra.get("templateType"))) {
//            templateType = Integer.parseInt((String) serverExtra.get("templateType"));
//        }
//
//        startLoad(context, localExtra, biddingListener);
//
//        return true;
//    }
//
//    private void startLoad(Context context, Map<String, Object> localExtra,
//                           ATBiddingListener biddingListener) {
//        try {
//            if (localExtra.containsKey(ATAdConst.KEY.AD_WIDTH)) {
//                width = Integer.parseInt(localExtra.get(ATAdConst.KEY.AD_WIDTH).toString());
//            }
//        } catch (Throwable e) {
//            e.printStackTrace();
//        }
//
//        try {
//            if (localExtra.containsKey(ATAdConst.KEY.AD_HEIGHT)) {
//                height = Integer.parseInt(localExtra.get(ATAdConst.KEY.AD_HEIGHT).toString());
//            }
//        } catch (Throwable e) {
//            e.printStackTrace();
//        }
//        int[] padding = {0, 0, 0, 0};
//        try {
//            if (localExtra.containsKey("key_beizi_padding")) {
//                padding = (int[]) localExtra.get("key_beizi_padding");
//            }
//        } catch (Throwable e) {
//            e.printStackTrace();
//        }
//
//        width = UIUtil.px2dip(context, width - padding[0] - padding[2]);
//        height = UIUtil.px2dip(context, height - padding[1] - padding[3]);
//
//        try {
//            ThreadUtils.runOnUIThreadByThreadPool(new Runnable() {
//                @Override
//                public void run() {
//                    BeiZiATInitManager.getInstance().initSDK(context, appId);
//                    if (mNativeAd == null) {
//                        mNativeAd = new NativeAd(context, unitid, new NativeAdListener
//                                () {
//                            @Override
//                            public void onAdFailed(int i) {
//                                LogUtil.i(LogUtil.TAG, "NativeAd onAdFailed() i : " + i);
//                                if (biddingListener != null) {
//                                    biddingListener.onC2SBiddingResultWithCache(ATBiddingResult.fail(i + ""), null);
//                                } else {
//                                    if (mLoadListener != null) {
//                                        mLoadListener.onAdLoadError("", "i : " + i);
//                                    }
//                                }
//                            }
//
//                            @Override
//                            public void onAdLoaded(View view) {
//                                LogUtil.i(LogUtil.TAG,
//                                        "NativeAd onAdLoaded() biddingListener ");
//                                List<BeiZiATNativeExpressAd> adList = new ArrayList<>();
//                                mBeiZiATNativeExpressAd = new BeiZiATNativeExpressAd(mNativeAd,
//                                        view);
//                                if (biddingListener != null) {
//                                    int ecpm = mNativeAd.getECPM();
//                                    LogUtil.i(LogUtil.TAG, "NativeAd ecpm : " + ecpm);
//                                    if (ecpm < 0) {
//                                        ecpm = 0;
//                                    }
//                                    //获取货币单位
//                                    ATAdConst.CURRENCY currency = ATAdConst.CURRENCY.RMB_CENT;
//                                    //用于标识此次竞价的唯一ID，可使用UUID或者时间戳
//                                    String token = UUID.randomUUID().toString();
//                                    biddingListener.onC2SBiddingResultWithCache(ATBiddingResult.success(ecpm, token, BeiZiATNativeAdapter.this, currency), mBeiZiATNativeExpressAd);
//                                } else {
//                                    adList.add(mBeiZiATNativeExpressAd);
//                                    if (mLoadListener != null) {
//                                        CustomNativeAd[] customNativeAds =
//                                                new CustomNativeAd[adList.size()];
//                                        customNativeAds = adList.toArray(customNativeAds);
//                                        mLoadListener.onAdCacheLoaded(customNativeAds);
//                                    }
//                                }
//                            }
//
//                            @Override
//                            public void onAdShown() {
//                                LogUtil.i(LogUtil.TAG, "NativeAd onAdShown() ");
//                                if (mBeiZiATNativeExpressAd != null) {
//                                    mBeiZiATNativeExpressAd.notifyAdImpression();
//                                }
//                            }
//
//                            @Override
//                            public void onAdClosed() {
//                                LogUtil.i(LogUtil.TAG, "NativeAd onAdClosed() ");
//                            }
//
//                            @Override
//                            public void onAdClosed(View view) {
//                                LogUtil.i(LogUtil.TAG, "NativeAd onAdClosed() ");
//                                if (mBeiZiATNativeExpressAd != null) {
//                                    mBeiZiATNativeExpressAd.onAdClose();
//                                }
//                                if (mBeiZiATNativeExpressAd != null) {
//                                    mBeiZiATNativeExpressAd.notifyAdDislikeClick();
//                                }
//                            }
//
//                            @Override
//                            public void onAdClick() {
//                                LogUtil.i(LogUtil.TAG, "NativeAd onAdClick() ");
//                                if (mBeiZiATNativeExpressAd != null) {
//                                    mBeiZiATNativeExpressAd.notifyAdClicked();
//                                }
//                            }
//                        }, timeout, templateType);
//                    }
//                    mNativeAd.loadAd(width, height);
//                }
//            });
//        } catch (Exception e) {
//            if (mLoadListener != null) {
//                mLoadListener.onAdLoadError("", "e : " + e);
//            }
//        }
//    }
//
//    @Override
//    public void destory() {
//        if (mBeiZiATNativeExpressAd != null) {
//            mBeiZiATNativeExpressAd.destroy();
//        }
//    }
//
//    @Override
//    public String getNetworkPlacementId() {
//        return unitid;
//    }
//
//    @Override
//    public String getNetworkSDKVersion() {
//        return BeiZis.getSdkVersion();
//    }
//
//    @Override
//    public String getNetworkName() {
//        return "BeiZi";
//    }
//
//    @Override
//    public void notifyBidWin(double costPrice, double secondPrice, Map<String, Object> map) {
//        try {
//            if (mNativeAd == null) {
//                return;
//            }
//            //如果是bidding广告位，胜出时，发送竞胜通知
//            Map<String, String> winInfo = new HashMap<>();
//            //竞胜价格
//            winInfo.put(BeiZiBiddingConstant.KEY_WIN_PRICE, String.valueOf(mNativeAd.getECPM()));
//            //失败渠道中最高价格
//            int secPrice = 0;
//            if (secondPrice > 0) {
//                secPrice = (int) Math.round(secondPrice);
//            }
//            winInfo.put(BeiZiBiddingConstant.KEY_HIGHEST_LOSS_PRICE, String.valueOf(secPrice));
//            //失败渠道中最高价格渠道ID 具体渠道ID明细参考二次竞价说明中关于参数说明内容中的渠道ID
//            winInfo.put(BeiZiBiddingConstant.KEY_ADN_ID, BeiZiBiddingConstant.Adn.ADN_OTHER);
//            mNativeAd.sendWinNotificationWithInfo(winInfo);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    @Override
//    public void notifyBidLoss(String lossCode, double winPrice, Map<String, Object> map) {
//        try {
//            if (mNativeAd == null) {
//                return;
//            }
//            //如果是bidding广告位，请求成功、失败、或者超时时发送竞败通知，
//            Map<String, String> lossInfo = new HashMap<>();
//            //竞胜价格
//            lossInfo.put(BeiZiBiddingConstant.KEY_WIN_PRICE, String.valueOf(winPrice));
//            //竞胜渠道id，具体渠道ID明细参考二次竞价说明中关于参数说明内容中的渠道ID
//            lossInfo.put(BeiZiBiddingConstant.KEY_ADN_ID, BeiZiBiddingConstant.Adn.ADN_OTHER);
//            //竞败原因，具体失败原因明细参考二次竞价说明中关于参数说明内容中的失败原因
//            lossInfo.put(BeiZiBiddingConstant.KEY_LOSS_REASON,
//                    BeiZiATInitManager.getInstance().getLossReason(lossCode));
//            mNativeAd.sendLossNotificationWithInfo(lossInfo);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    @Override
//    public void notifyBidDisplay(boolean isWinner, double displayPrice) {
//    }
//
//    @Override
//    public ATAdConst.CURRENCY getNoticePriceCurrency() {
//        return ATAdConst.CURRENCY.RMB_CENT;
//    }
//
//}
